import store from "../store/index.js";
/**
 * @param {Object} options
 * 网络请求 模块
 */
import {goLogin} from './base'
// 拆分数据
const splitData= function (data) {
    let url = ''
    for (let k in data) {
        if (data.hasOwnProperty(k)) {
            let value = data[k] || ''
            url = url + '&' + k + '=' + encodeURIComponent(value)
        }
    }
    return url ? url.substring(1) : ''
}
// 拼接参数
const contractUrl= function (url, data) {
    return url + (url.indexOf('?') < 0 ? '?' : '&') + splitData(data)
}
const network = function(options) {
	let data = {};
	if (options.data) {
		data = options.data;
	}
	if (options.param) {
		options.url = contractUrl(options.url,options.param);
	}
	/* 请求头设置 */
	let header={
	};

	/* 定义请求数据格式 */
	/* 数据会进行 JSON 序列化，Request Payload，与下方相同属性保留接口所需要的类型即可 */
	header['content-type']='application/json;charset=utf-8';
	/* 数据转换为 query string，Form Data，与上方相同属性保留接口所需要的类型即可*/
	// if(!header){
	// }
	//header['content-type']='application/x-www-form-urlencoded';
	/* 请求头自定义数据 */
	/* 令牌数据自行完成获取过程 */
	let token = uni.getStorageSync("token");
	header["X-Access-Token"] = token
	return new Promise((resolve,reject)=>{
		let url=process.uniEnv.BASE_API + options.url;
		// if(process.env.NODE_ENV === 'development'){
		// 	url ='http://8.136.233.71:9090'+options.url;
		// }else{
		// 	url ='http://8.136.233.71:9090'+options.url;
		// 	//url='https://portal.ccmaicai.com'+options.url;
		// }
		uni.request({
			url:url,
			method:options.method || 'GET',
			dataType:'json',
			header:header,
			data:data,
			param:data,
			success:(res)=>{
				if(res.statusCode==500 && options.url.indexOf("/gp-boot/gp/api/gpUserVideoOperateTimes/getUserVideoOperateTimes") ==-1)
				{
					goLogin()
				}
				resolve(res.data);
			},
			fail:(err)=>{
				uni.hideLoading();
				console.log(err)
				uni.showModal({
					title: "温馨提示",
					content: '正在连接中...',
					showCancel:false
				});
				reject(err);
			}
		});
	})
}

export default network;
